type componentType = 'input' | 'select' | 'date-picker' | 'upload'

export interface FormProps {
  columns: FormColumns[];
}

interface optionProps {
  value: string | number;
  label: string;
}

export interface FormColumns {
  prop: string;
  value: any;
  component: componentType;
  label?: string;
  optionsComponent?: 'option';
  options?: optionProps[];
  componentProps?: object;
}

export interface FormEmits {
  (e: 'handle-submit'): void;
}